
<!DOCTYPE html>
<html lang="UTF-8" xmlns:th="http://www.thymeleaf.org">
  <head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">

      <link rel="stylesheet" th:href="@{/bootstrap/css/bootstrap.min.css}">
      <link rel="stylesheet" th:href="@{/css/font-awesome.min.css}">
      <link rel="stylesheet" th:href="@{/css/login.css}">
    <link rel="stylesheet" th:href="@{/css/main.css}">
    <link rel="stylesheet" type="text/css" th:href="@{/css/pagination.css}">

    <style>
    .tree li {
        list-style-type: none;
       cursor:pointer;
    }
    .tree-closed {
        height : 40px;
    }
    .tree-expanded {
        height : auto;
    }
    </style>
  </head>

  <body>


  <div th:replace="~{include-nav :: nav}"></div>

    <div class="container-fluid">
      <div class="row">

         <div th:replace="~{include-nav :: sidebar}"></div>

        <div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
          <div class="panel panel-default">
            <div class="panel-heading">
              <h3 class="panel-title"><i class="glyphicon glyphicon-th"></i> 数据列表</h3>
            </div>
            <div class="panel-body">
              <form th:action="@{/admin/query/for/search}" method="post" class="form-inline" role="form" style="float:left;">
                <div class="form-group has-feedback">
                  <div class="input-group">
                    <div class="input-group-addon">查询条件</div>
                    <input
                            th:value="${param.keyword}"
                            name="keyword"
                            class="form-control has-success"
                            type="text"
                            placeholder="请输入查询条件">
                  </div>
                </div>
                <button type="submit" class="btn btn-warning">
                  <i class="glyphicon glyphicon-search"></i> 查询
                </button>
              </form>

              <button type="button" id="batchRemoveBtn" class="btn btn-danger" style="float:right;margin-left:10px;"><i class=" glyphicon glyphicon-remove"></i> 删除</button>
              <a th:href="@{/admin/to/add/page.html}" class="btn btn-primary" style="float: right;">
                <i class="glyphicon glyphicon-plus"></i> 新增
              </a>


              <br>
              <hr style="clear:both;">
              <div class="table-responsive">
                <table class="table  table-bordered">
                  <thead>
                  <tr >
                    <th width="30">#</th>
                    <th width="30"><input id="summaryBox" type="checkbox"></th>
                    <th>账号</th>
                    <th>名称</th>
                    <th>邮箱地址</th>
                    <th width="100">操作</th>
                  </tr>
                  </thead>
                  <tbody>

                  <tr th:if="${#lists.isEmpty(#request.getAttribute('PAGE-INFO').list)}">
                    <td style="text-align: center;" colspan="6">抱歉！没有符合您要求的查询结果！</td>
                  </tr>
                  <tr th:each="admin,myStatus : ${#request.getAttribute('PAGE-INFO').list}">
                    <td th:text="${myStatus.count}"></td>

<!--                    给itemBox设置adminId属性
                        adminId属性是HTML标签本身并没有的属性，是我们强行设置的。
-->
                    <td><input type="checkbox" th:adminId = "${admin.id}" class="itemBox"></td>
                    <td th:text="${admin.loginAcct}"></td>
                    <td th:text="${admin.userName}"></td>
                    <td th:text="${admin.email}"></td>
                    <td>
                      <button type="button" class="btn btn-success btn-xs"><i class=" glyphicon glyphicon-check"></i></button>

                      <a th:href="@{/admin/to/edit/page(adminId=${admin.id},pageNum=${#request.getAttribute('PAGE-INFO').pageNum})}" class="btn btn-primary btn-xs">
                        <i class=" glyphicon glyphicon-pencil"></i>
                      </a>

                      <button th:adminId="${admin.id}" type="button" class="btn btn-danger btn-xs uniqueRemoveBtn"><i class=" glyphicon glyphicon-remove"></i></button>
                    </td>
                  </tr>
                  </tbody>
                  <tfoot>
                  <tr>
                    <td colspan="6" align="center">
                      <div id="Pagination" class="pagination"><!-- 这里显示分页 --></div>
                    </td>
                  </tr>
                  </tfoot>
                </table>
              </div>
            </div>
          </div>
        </div>


      </div>
    </div>
    <script th:src="@{/jquery/jquery-2.1.1.min.js}"></script>
    <script th:src="@{/bootstrap/js/bootstrap.min.js}"></script>
    <script th:src="@{/script/docs.min.js}"></script>
  <script type="text/javascript" th:src="@{/script/jquery.pagination.js}"></script>
        <script type="text/javascript">
          $(function() {
            // 对分页导航条显示进行初始化
            initPagination();
          });

          // 声明函数封装导航条初始化操作
          function initPagination() {
            // 声明变量存储总记录数
            var totalRecord = [[${#request.getAttribute('PAGE-INFO').total}]];
            // 声明变量存储分页导航条显示时的属性设置
            var paginationProperties = {
              num_edge_entries : 3,        //边缘页数
              num_display_entries : 5,      //主体页数
              callback : pageselectCallback, //回调函数
              items_per_page : [[${#request.getAttribute('PAGE-INFO').pageSize}]],    //每页显示数据数量，就是pageSize
              current_page : [[${#request.getAttribute('PAGE-INFO').pageNum-1}]],//当前页页码
              prev_text : "上一页",       //上一页文本
              next_text : "下一页"        //下一页文本
            };
            // 显示分页导航条
            $("#Pagination").pagination(totalRecord, paginationProperties);
          }

          // 在每一次点击“上一页”、“下一页”、“页码”时执行这个函数跳转页面
          function pageselectCallback(pageIndex, jq) {
            // pageIndex从0开始，pageNum从1开始
            var pageNum = pageIndex + 1;
            // 跳转页面
            window.location.href = "/admin/query/for/search?pageNum="+pageNum;
            return false;
          }
          function pageselectCallback(pageIndex, jq) {
            // pageIndex从0开始，pageNum从1开始
            var pageNum = pageIndex + 1;
            var keyword=$('[name="keyword"]').val();
            // 跳转页面
            window.location.href = "/admin/query/for/search?pageNum="+pageNum+"&keyword="+keyword;
            return false;
          }
          //批量删除
          $("#summaryBox").click(function() {
            // 获取当前#summaryBox的勾选状态
            // this代表当前多选框对象（DOM对象）
            // checked属性为true时表示被勾选，为false时表示没有被勾选
            // 使用checkStatus设置.itemBox的状态
            $(".itemBox").prop("checked",this.checked);
          });

          $("#batchRemoveBtn").click(function () {
            // 创建数组对象：存储adminId
            var adminIdArray = new Array();
            // 创建数组对象：存储loginAcct
            var loginAcctArray = new Array();
            $(".itemBox:checked").each(function () {
              var adminId=$(this).attr("adminId");
              adminIdArray.push(adminId);
              var loginAcct=$(this).parent("td").next().text();
              loginAcctArray.push(loginAcct);
            });
            if (adminIdArray.length==0){
              alert("请勾选您要删除的记录！");
              return ;
            }
            var confirmResult =confirm("您真的要删除"+loginAcctArray+"信息吗？操作不可逆，请谨慎决定！");
            if (confirmResult==false){
              return;
            }
            var requestBody = JSON.stringify(adminIdArray);
            //[1,12,13]  {[1,12,13]}
            $.ajax({
              url:"/admin/batch/remove",
              "type":"post",
              "data":requestBody,
              "dataType":"json",
              "contentType":"application/json;charset=UTF-8",
              "success":function(response){
                var result = response.result;
                if (result=="SUCCESS"){
                  // 跳转页面
                  var pageNum=[[${#request.getAttribute('PAGE-INFO').pageNum}]];
                  var keyword=$('[name="keyword"]').val();
                  window.location.href = "/admin/query/for/search?pageNum="+pageNum+"&keyword="+keyword;
                }else{
                  alert(response.message);
                  return ;
                }
              }
            });
          });


          $(function () {
              $(".list-group-item").click(function(){
                 if ( $(this).find("ul") ) {
                   $(this).toggleClass("tree-closed");
                   if ( $(this).hasClass("tree-closed") ) {
                      $("ul", this).hide("fast");
                   } else {
                      $("ul", this).show("fast");
                   }
                }
             });
            });



          $(".uniqueRemoveBtn").click(function () {
            // 获取当前adminId值
            var adminId = $(this).attr("adminId");
            var loginAcct = $(this).parents("tr").children("td:eq(2)").text();
            var confirmResult = confirm("您真的要删除"+loginAcct+"这条记录吗？");

            if(!confirmResult) {
              return ;
            }

            // 为了能够使用批量删除的操作，将adminId存入数组
            var adminIdArray = new Array();

            adminIdArray.push(adminId);

            // 调用专门封装的函数，执行批量删除
            doBatchRemove(adminIdArray);
          });

          function doBatchRemove(adminIdArray) {
            var requestBody = JSON.stringify(adminIdArray);

            $.ajax({
              url:"/admin/batch/remove",
              "type":"post",
              "data":requestBody,
              "dataType":"json",
              "contentType":"application/json;charset=UTF-8",
              "success":function(response){
                var result = response.result;
                if (result=="SUCCESS"){
                  // 跳转页面
                  var pageNum=[[${#request.getAttribute('PAGE-INFO').pageNum-1}]];
                  var keyword=$('[name="keyword"]').val();
                  window.location.href = "/admin/query/for/search?pageNum="+pageNum+"&keyword="+keyword;
                }else{
                  alert(response.message);
                  return ;
                }
              }
            });
          }

        </script>
  </body>
</html>
```